package com.example.temp;

public class Test13oooo {

    public static void main(String[] args) {

    }

    /**
     * 输入一个链表，输出该链表中倒数第k个结点。
     */
    public class ListNode {
        int val;
        ListNode next = null;
        ListNode(int val) {
            this.val = val;
        }
    }

    public class Solution {
        public ListNode FindKthToTail(ListNode head, int k) {
            //front指针先跑到k-1位置然后和q一起跑 front到最后的时候q刚好跑到倒数K节点
            //两个指针间隔k-1
            ListNode front = head;
            ListNode behind = head;
            int i = 0;
            for (; front!=null ; i++) {
                if (i>=k){
                    behind = behind.next;
                }
                front = front.next;
            }
            //i即是该链表的节点个数-1 （可以理解为最后一个节点的下标）i<k的话 k超过链表长度返回null
            if (i<k){
                return null;
            }else {
            return behind;
            }
        }
    }
}
